package cn.attackme.myuploader.dao.provider;

import cn.attackme.myuploader.model.Icon;
import org.apache.ibatis.jdbc.SQL;

public class IconProvider {

    public String updateIcon(Icon icon){
        return new SQL(){{
            UPDATE("T_ICON_LIBRARY");
            if(icon.getMd5()!=null){
                SET("md5 = "+"'"+icon.getMd5()+"'");
            }
            if(icon.getName()!=null){
                SET("name = "+"'"+icon.getName()+"'");
            }
            WHERE("id = "+"'"+icon.getId()+"'");
            //从这个toString可以看出，其内部使用高效的StringBuilder实现SQL拼接
        }}.toString();
    }

    public String getByIcon(Icon icon){
        return new SQL(){{
            SELECT("*");
            FROM("T_ICON_LIBRARY");
            if(icon.getMd5()!=null){
                WHERE("md5 = "+"'"+icon.getMd5()+"'");
            }
            if(icon.getName()!=null){
                WHERE("name = "+"'"+icon.getName()+"'");
            }
            //从这个toString可以看出，其内部使用高效的StringBuilder实现SQL拼接
        }}.toString();
    }
}
